package com.education.ai.repository;

import com.education.ai.entity.Exercise;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 练习题数据访问接口
 */
@Repository
public interface ExerciseRepository extends JpaRepository<Exercise, Long> {
    
    /**
     * 根据学科查询练习题
     */
    List<Exercise> findBySubject(String subject);
    
    /**
     * 根据年级查询练习题
     */
    List<Exercise> findByGrade(String grade);
    
    /**
     * 根据学科和年级查询练习题
     */
    List<Exercise> findBySubjectAndGrade(String subject, String grade);
    
    /**
     * 根据学科、年级和教学主题查询练习题
     */
    List<Exercise> findBySubjectAndGradeAndTopic(String subject, String grade, String topic);
    
    /**
     * 根据题目类型查询练习题
     */
    List<Exercise> findByQuestionType(String questionType);
    
    /**
     * 根据难度查询练习题
     */
    List<Exercise> findByDifficulty(String difficulty);
    
    /**
     * 根据教师ID查询练习题历史记录
     */
    List<Exercise> findByTeacherIdOrderByCreatedTimeDesc(String teacherId);

    Page<Exercise> findByTeacherId(String teacherId, Pageable pageable);
} 